///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Dec 21 2009)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////

#ifdef WX_PRECOMP

#include "wx/wxprec.h"

#ifdef __BORLANDC__
#pragma hdrstop
#endif //__BORLANDC__

#else
#include <wx/wx.h>
#endif //WX_PRECOMP

#include "MainFrameTemplate.h"

///////////////////////////////////////////////////////////////////////////

MainFrameTemplate::MainFrameTemplate( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )
{
	this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
	
	statusBarV = this->CreateStatusBar( 1, wxST_SIZEGRIP, wxID_ANY );
	menubarM = new wxMenuBar( 0 );
	MainMenu = new wxMenu();
	wxMenuItem* menuItemProjectDir;
	menuItemProjectDir = new wxMenuItem( MainMenu, wxID_PROJECTDIR, wxString( wxT("Define project directory") ) , wxEmptyString, wxITEM_NORMAL );
	MainMenu->Append( menuItemProjectDir );
	
	wxMenuItem* m_separator1;
	m_separator1 = MainMenu->AppendSeparator();
	
	wxMenuItem* menuItemSaveAll;
	menuItemSaveAll = new wxMenuItem( MainMenu, wxID_SAVE_ALL, wxString( wxT("Save all") ) , wxEmptyString, wxITEM_NORMAL );
	MainMenu->Append( menuItemSaveAll );
	
	wxMenuItem* menuItemSaveColor;
	menuItemSaveColor = new wxMenuItem( MainMenu, wxID_SAVE, wxString( wxT("Save color File") ) , wxEmptyString, wxITEM_NORMAL );
	#ifdef __WXMSW__
	menuItemSaveColor->SetBitmaps( wxBitmap( wxT("img/menu/save.png"), wxBITMAP_TYPE_ANY ) );
	#elif defined( __WXGTK__ )
	menuItemSaveColor->SetBitmap( wxBitmap( wxT("img/menu/save.png"), wxBITMAP_TYPE_ANY ) );
	#endif
	MainMenu->Append( menuItemSaveColor );
	
	wxMenuItem* menuItemSaveRobot;
	menuItemSaveRobot = new wxMenuItem( MainMenu, wxID_SAVEROBOT, wxString( wxT("Save Player Driver") ) , wxEmptyString, wxITEM_NORMAL );
	MainMenu->Append( menuItemSaveRobot );
	
	wxMenuItem* menuItemSaveObst;
	menuItemSaveObst = new wxMenuItem( MainMenu, wxID_SAVE_OBST, wxString( wxT("Save Obstacle File") ) , wxEmptyString, wxITEM_NORMAL );
	MainMenu->Append( menuItemSaveObst );
	
	wxMenuItem* m_separator2;
	m_separator2 = MainMenu->AppendSeparator();
	
	wxMenuItem* menuItemLoadColor;
	menuItemLoadColor = new wxMenuItem( MainMenu, wxID_LOAD, wxString( wxT("Load Project") ) , wxEmptyString, wxITEM_NORMAL );
	MainMenu->Append( menuItemLoadColor );
	
	wxMenuItem* m_separator3;
	m_separator3 = MainMenu->AppendSeparator();
	
	wxMenuItem* menuItemExit;
	menuItemExit = new wxMenuItem( MainMenu, wxID_EXIT, wxString( wxT("Exit") ) , wxEmptyString, wxITEM_NORMAL );
	#ifdef __WXMSW__
	menuItemExit->SetBitmaps( wxBitmap( wxT("img/menu/close.png"), wxBITMAP_TYPE_ANY ) );
	#elif defined( __WXGTK__ )
	menuItemExit->SetBitmap( wxBitmap( wxT("img/menu/close.png"), wxBITMAP_TYPE_ANY ) );
	#endif
	MainMenu->Append( menuItemExit );
	
	menubarM->Append( MainMenu, wxT("Main") );
	
	CameraMenu = new wxMenu();
	SizeMenu = new wxMenu();
	wxMenuItem* menuItem_1024x768;
	menuItem_1024x768 = new wxMenuItem( SizeMenu, wxID_res_1024x768, wxString( wxT("1024x768") ) , wxEmptyString, wxITEM_RADIO );
	SizeMenu->Append( menuItem_1024x768 );
	
	wxMenuItem* menuItem_960x720;
	menuItem_960x720 = new wxMenuItem( SizeMenu, wxID_res_960x720, wxString( wxT("960x720") ) , wxEmptyString, wxITEM_RADIO );
	SizeMenu->Append( menuItem_960x720 );
	
	wxMenuItem* menuItem_640x480;
	menuItem_640x480 = new wxMenuItem( SizeMenu, wxID_res_640x480, wxString( wxT("640x480") ) , wxEmptyString, wxITEM_RADIO );
	SizeMenu->Append( menuItem_640x480 );
	menuItem_640x480->Check( true );
	
	wxMenuItem* menuItem320x240;
	menuItem320x240 = new wxMenuItem( SizeMenu, wxID_res_320x240, wxString( wxT("320x240") ) , wxEmptyString, wxITEM_RADIO );
	SizeMenu->Append( menuItem320x240 );
	
	CameraMenu->Append( -1, wxT("Image Size"), SizeMenu );
	
	CamSourceMenu = new wxMenu();
	wxMenuItem* menuItemLocal;
	menuItemLocal = new wxMenuItem( CamSourceMenu, wxID_source_local, wxString( wxT("Local (OpenCV)") ) , wxEmptyString, wxITEM_RADIO );
	CamSourceMenu->Append( menuItemLocal );
	menuItemLocal->Check( true );
	
	wxMenuItem* menuItemRemote;
	menuItemRemote = new wxMenuItem( CamSourceMenu, wxID_source_remote, wxString( wxT("Remote (MJPG-Streamer)") ) , wxEmptyString, wxITEM_RADIO );
	CamSourceMenu->Append( menuItemRemote );
	
	CameraMenu->Append( -1, wxT("Source"), CamSourceMenu );
	
	menubarM->Append( CameraMenu, wxT("Camera") );
	
	ColorMenu = new wxMenu();
	wxMenuItem* menuItemDefClass;
	menuItemDefClass = new wxMenuItem( ColorMenu, ID_COLORDEF, wxString( wxT("Define Color") ) , wxEmptyString, wxITEM_CHECK );
	ColorMenu->Append( menuItemDefClass );
	
	menuColorCode = new wxMenu();
	wxMenuItem* menuItemRGBCode;
	menuItemRGBCode = new wxMenuItem( menuColorCode, ID_RGBCODE, wxString( wxT("RGB") ) , wxEmptyString, wxITEM_RADIO );
	menuColorCode->Append( menuItemRGBCode );
	
	wxMenuItem* menuItemHLS;
	menuItemHLS = new wxMenuItem( menuColorCode, ID_HLSCODE, wxString( wxT("HLS") ) , wxEmptyString, wxITEM_RADIO );
	menuColorCode->Append( menuItemHLS );
	
	wxMenuItem* menuItemHSV;
	menuItemHSV = new wxMenuItem( menuColorCode, ID_HSVCODE, wxString( wxT("HSV") ) , wxEmptyString, wxITEM_RADIO );
	menuColorCode->Append( menuItemHSV );
	menuItemHSV->Check( true );
	
	wxMenuItem* menuItemYUV;
	menuItemYUV = new wxMenuItem( menuColorCode, wxID_ANY, wxString( wxT("YUV") ) , wxEmptyString, wxITEM_NORMAL );
	menuColorCode->Append( menuItemYUV );
	
	ColorMenu->Append( -1, wxT("Color Codification"), menuColorCode );
	
	wxMenuItem* m_separator4;
	m_separator4 = ColorMenu->AppendSeparator();
	
	wxMenuItem* menuItemColorIdent;
	menuItemColorIdent = new wxMenuItem( ColorMenu, wxID_COLORID, wxString( wxT("Blob Area Definition") ) , wxEmptyString, wxITEM_CHECK );
	ColorMenu->Append( menuItemColorIdent );
	
	wxMenuItem* menuItemThresholds;
	menuItemThresholds = new wxMenuItem( ColorMenu, wxID_ANY, wxString( wxT("Change Color Thresholds") ) , wxEmptyString, wxITEM_CHECK );
	ColorMenu->Append( menuItemThresholds );
	
	wxMenuItem* menuItemObstColor;
	menuItemObstColor = new wxMenuItem( ColorMenu, wxID_OBSTCOLOR, wxString( wxT("Obstacle Color") ) , wxEmptyString, wxITEM_NORMAL );
	ColorMenu->Append( menuItemObstColor );
	
	menubarM->Append( ColorMenu, wxT("Color") );
	
	RobotMenu = new wxMenu();
	wxMenuItem* menuItemDefRobot;
	menuItemDefRobot = new wxMenuItem( RobotMenu, ID_ROBDEF, wxString( wxT("Define Robot") ) , wxEmptyString, wxITEM_CHECK );
	RobotMenu->Append( menuItemDefRobot );
	
	wxMenuItem* menuItemDistDef;
	menuItemDistDef = new wxMenuItem( RobotMenu, wxID_DISTDEF, wxString( wxT("Blob Distance Definition") ) , wxEmptyString, wxITEM_CHECK );
	RobotMenu->Append( menuItemDistDef );
	
	menubarM->Append( RobotMenu, wxT("Robots") );
	
	CalibrationMenu = new wxMenu();
	wxMenuItem* menuItemCalibParam;
	menuItemCalibParam = new wxMenuItem( CalibrationMenu, wxID_ANY, wxString( wxT("Calibration Params...") ) , wxEmptyString, wxITEM_NORMAL );
	CalibrationMenu->Append( menuItemCalibParam );
	
	wxMenuItem* menuItemStartCalib;
	menuItemStartCalib = new wxMenuItem( CalibrationMenu, wxID_ANY, wxString( wxT("Start Calibration") ) , wxEmptyString, wxITEM_NORMAL );
	CalibrationMenu->Append( menuItemStartCalib );
	
	wxMenuItem* m_separator5;
	m_separator5 = CalibrationMenu->AppendSeparator();
	
	wxMenuItem* menuItemLoadCalib;
	menuItemLoadCalib = new wxMenuItem( CalibrationMenu, wxID_ANY, wxString( wxT("Load Calibration Params...") ) , wxEmptyString, wxITEM_NORMAL );
	CalibrationMenu->Append( menuItemLoadCalib );
	
	wxMenuItem* menuItemEnableCalib;
	menuItemEnableCalib = new wxMenuItem( CalibrationMenu, wxID_ANY, wxString( wxT("Enable Calibration (POINTS)") ) , wxEmptyString, wxITEM_CHECK );
	CalibrationMenu->Append( menuItemEnableCalib );
	
	wxMenuItem* menuItemEnableCalibImg;
	menuItemEnableCalibImg = new wxMenuItem( CalibrationMenu, wxID_ANY, wxString( wxT("Enable Calibration (IMG)") ) , wxEmptyString, wxITEM_NORMAL );
	CalibrationMenu->Append( menuItemEnableCalibImg );
	
	menubarM->Append( CalibrationMenu, wxT("Calibration") );
	
	HelpMenu = new wxMenu();
	wxMenuItem* menuItemHelp;
	menuItemHelp = new wxMenuItem( HelpMenu, wxID_HELP, wxString( wxT("Help") ) , wxEmptyString, wxITEM_NORMAL );
	#ifdef __WXMSW__
	menuItemHelp->SetBitmaps( wxBitmap( wxT("img/menu/help.png"), wxBITMAP_TYPE_ANY ) );
	#elif defined( __WXGTK__ )
	menuItemHelp->SetBitmap( wxBitmap( wxT("img/menu/help.png"), wxBITMAP_TYPE_ANY ) );
	#endif
	HelpMenu->Append( menuItemHelp );
	
	menubarM->Append( HelpMenu, wxT("?") );
	
	this->SetMenuBar( menubarM );
	
	toolBarApp = this->CreateToolBar( wxTB_HORIZONTAL, wxID_ANY ); 
	staticTextCamSrc = new wxStaticText( toolBarApp, wxID_ANY, wxT("Camera src: "), wxDefaultPosition, wxDefaultSize, 0 );
	staticTextCamSrc->Wrap( -1 );
	toolBarApp->AddControl( staticTextCamSrc );
	textCtrlCameraSrc = new wxTextCtrl( toolBarApp, wxID_CAMERA_SRC, wxT("0"), wxDefaultPosition, wxSize( 100,-1 ), wxTE_RIGHT );
	toolBarApp->AddControl( textCtrlCameraSrc );
	toolBarApp->AddTool( ID_CAMWINDOW, wxT("tool"), wxBitmap( wxT("img/toolbar/32x32/camera.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, wxT("show Camera Window"), wxT("Shows the camera view") );
	toolBarApp->AddTool( ID_PAUSE, wxT("tool"), wxBitmap( wxT("img/toolbar/32x32/pause.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, wxT("Takes a camera Shot"), wxT("Pauses the camera view") );
	toolBarApp->AddTool( ID_EXPAND, wxT("tool"), wxBitmap( wxT("img/toolbar/32x32/expand.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, wxT("Resize the Camera Image"), wxEmptyString );
	toolBarApp->AddSeparator();
	toolBarApp->AddTool( ID_SAVE_IMG, wxT("tool"), wxBitmap( wxT("img/toolbar/32x32/save.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString );
	toolBarApp->AddSeparator();
	toolBarApp->AddTool( ID_ZOOMIN, wxT("tool"), wxBitmap( wxT("img/toolbar/32x32/zoom-in.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, wxT("Zoom In the Image"), wxT("Zoom In") );
	toolBarApp->AddTool( ID_ZOOMOUT, wxT("tool"), wxBitmap( wxT("img/toolbar/32x32/zoom-out.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, wxT("Zoom Out the Image"), wxT("Zoom Out") );
	toolBarApp->AddSeparator();
	toolBarApp->AddTool( wxID_AREA, wxT("tool"), wxBitmap( wxT("img/toolbar/32x32/area.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, wxT("Set XY Plane"), wxEmptyString );
	toolBarApp->AddSeparator();
	toolBarApp->AddTool( ID_CLASSDEF, wxT("tool"), wxBitmap( wxT("img/toolbar/32x32/classOn.png"), wxBITMAP_TYPE_ANY ), wxNullBitmap, wxITEM_NORMAL, wxT("Start/Stop Image Processing"), wxT("Class Definition") );
	toolBarApp->Realize();
	
	sizerAll = new wxBoxSizer( wxVERTICAL );
	
	sizerApp = new wxBoxSizer( wxHORIZONTAL );
	
	sizerRobotDef = new wxBoxSizer( wxVERTICAL );
	
	staticTextTitleRobot = new wxStaticText( this, wxID_ANY, wxT("Robot Definition"), wxDefaultPosition, wxDefaultSize, 0 );
	staticTextTitleRobot->Wrap( -1 );
	staticTextTitleRobot->SetFont( wxFont( 12, 74, 90, 92, false, wxT("Sans") ) );
	staticTextTitleRobot->Hide();
	
	sizerRobotDef->Add( staticTextTitleRobot, 0, wxALL, 5 );
	
	panel11 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	panel11->Hide();
	
	sizerRobotDef->Add( panel11, 0, wxEXPAND | wxALL, 5 );
	
	staticTextRobotName = new wxStaticText( this, wxID_ANY, wxT("Robot Name (max 30 char):"), wxDefaultPosition, wxDefaultSize, 0 );
	staticTextRobotName->Wrap( -1 );
	staticTextRobotName->Hide();
	
	sizerRobotDef->Add( staticTextRobotName, 0, wxALL, 5 );
	
	textCtrlRobotName = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_RIGHT );
	textCtrlRobotName->Hide();
	
	sizerRobotDef->Add( textCtrlRobotName, 0, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 5 );
	
	wxBoxSizer* bSizer9;
	bSizer9 = new wxBoxSizer( wxHORIZONTAL );
	
	staticTextBaseColor = new wxStaticText( this, wxID_ANY, wxT("Base Color"), wxDefaultPosition, wxDefaultSize, 0 );
	staticTextBaseColor->Wrap( -1 );
	staticTextBaseColor->Hide();
	
	bSizer9->Add( staticTextBaseColor, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	comboboxBaseColor = new wxComboBox( this, wxID_ANY, wxT("[choose one...]"), wxDefaultPosition, wxSize( 150,-1 ), 0, NULL, 0 ); 
	comboboxBaseColor->Hide();
	
	bSizer9->Add( comboboxBaseColor, 1, wxALL, 5 );
	
	sizerRobotDef->Add( bSizer9, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer91;
	bSizer91 = new wxBoxSizer( wxHORIZONTAL );
	
	staticTextRobotColor = new wxStaticText( this, wxID_ANY, wxT("Robot Color"), wxDefaultPosition, wxDefaultSize, 0 );
	staticTextRobotColor->Wrap( -1 );
	staticTextRobotColor->Hide();
	
	bSizer91->Add( staticTextRobotColor, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	comboboxRobotColor = new wxComboBox( this, wxID_ANY, wxT("[choose one...]"), wxDefaultPosition, wxSize( 150,-1 ), 0, NULL, 0 ); 
	comboboxRobotColor->Hide();
	
	bSizer91->Add( comboboxRobotColor, 1, wxALL, 5 );
	
	sizerRobotDef->Add( bSizer91, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer13;
	bSizer13 = new wxBoxSizer( wxHORIZONTAL );
	
	staticTextMinDist = new wxStaticText( this, wxID_ANY, wxT("Min Dist:"), wxDefaultPosition, wxDefaultSize, 0 );
	staticTextMinDist->Wrap( -1 );
	staticTextMinDist->Hide();
	
	bSizer13->Add( staticTextMinDist, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	textCtrlMinDist = new wxTextCtrl( this, wxID_ANY, wxT("-1"), wxDefaultPosition, wxDefaultSize, wxTE_RIGHT );
	textCtrlMinDist->Hide();
	
	bSizer13->Add( textCtrlMinDist, 1, wxALL, 5 );
	
	sizerRobotDef->Add( bSizer13, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer131;
	bSizer131 = new wxBoxSizer( wxHORIZONTAL );
	
	staticTextMaxDist = new wxStaticText( this, wxID_ANY, wxT("Max Dist:"), wxDefaultPosition, wxDefaultSize, 0 );
	staticTextMaxDist->Wrap( -1 );
	staticTextMaxDist->Hide();
	
	bSizer131->Add( staticTextMaxDist, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	textCtrlMaxDist = new wxTextCtrl( this, wxID_ANY, wxT("-1"), wxDefaultPosition, wxDefaultSize, wxTE_RIGHT );
	textCtrlMaxDist->Hide();
	
	bSizer131->Add( textCtrlMaxDist, 1, wxALL, 5 );
	
	sizerRobotDef->Add( bSizer131, 0, wxEXPAND, 5 );
	
	buttonCreateRobot = new wxButton( this, ID_CREATEROBOT, wxT("Create Robot"), wxDefaultPosition, wxDefaultSize, 0 );
	buttonCreateRobot->Hide();
	
	sizerRobotDef->Add( buttonCreateRobot, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
	
	m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	m_staticline1->Hide();
	
	sizerRobotDef->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
	
	wxBoxSizer* bSizer18;
	bSizer18 = new wxBoxSizer( wxVERTICAL );
	
	staticTextDefinedRobots = new wxStaticText( this, wxID_ANY, wxT("Defined Robots:"), wxDefaultPosition, wxDefaultSize, 0 );
	staticTextDefinedRobots->Wrap( -1 );
	staticTextDefinedRobots->Hide();
	
	bSizer18->Add( staticTextDefinedRobots, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	comboboxDefinedRobots = new wxComboBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 150,-1 ), 0, NULL, 0 ); 
	comboboxDefinedRobots->Hide();
	
	bSizer18->Add( comboboxDefinedRobots, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	sizerRobotDef->Add( bSizer18, 0, wxEXPAND, 5 );
	
	buttonEliminateRobot = new wxButton( this, ID_ELIMINATEROBOT, wxT("Eliminate"), wxDefaultPosition, wxDefaultSize, 0 );
	buttonEliminateRobot->Hide();
	
	sizerRobotDef->Add( buttonEliminateRobot, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
	
	staticLineObst = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
	staticLineObst->Hide();
	
	sizerRobotDef->Add( staticLineObst, 0, wxEXPAND | wxALL, 5 );
	
	staticTextTitleObst = new wxStaticText( this, wxID_ANY, wxT("Obst. Definition"), wxDefaultPosition, wxDefaultSize, 0 );
	staticTextTitleObst->Wrap( -1 );
	staticTextTitleObst->SetFont( wxFont( 12, 74, 90, 92, false, wxT("Sans") ) );
	staticTextTitleObst->Hide();
	
	sizerRobotDef->Add( staticTextTitleObst, 0, wxALL, 5 );
	
	wxBoxSizer* bSizer19;
	bSizer19 = new wxBoxSizer( wxHORIZONTAL );
	
	staticTextObst = new wxStaticText( this, wxID_ANY, wxT("Obst Color:"), wxDefaultPosition, wxDefaultSize, 0 );
	staticTextObst->Wrap( -1 );
	staticTextObst->Hide();
	
	bSizer19->Add( staticTextObst, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	comboBoxObst = new wxComboBox( this, wxID_ANY, wxT("[choose one...]"), wxDefaultPosition, wxSize( 150,-1 ), 0, NULL, 0 ); 
	comboBoxObst->Hide();
	
	bSizer19->Add( comboBoxObst, 0, wxALL, 5 );
	
	sizerRobotDef->Add( bSizer19, 0, wxEXPAND, 5 );
	
	sizerApp->Add( sizerRobotDef, 0, wxEXPAND, 5 );
	
	sizerCamera = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, wxT("Camera") ), wxVERTICAL );
	
	sizerApp->Add( sizerCamera, 1, wxEXPAND, 5 );
	
	sizerClassDef = new wxBoxSizer( wxVERTICAL );
	
	staticTextTitle = new wxStaticText( this, wxID_ANY, wxT("Color Definition"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
	staticTextTitle->Wrap( -1 );
	staticTextTitle->SetFont( wxFont( 12, 74, 90, 92, false, wxT("Sans") ) );
	staticTextTitle->Hide();
	
	sizerClassDef->Add( staticTextTitle, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
	
	panel1 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	panel1->Hide();
	
	sizerClassDef->Add( panel1, 0, wxALL|wxEXPAND, 5 );
	
	staticTextClassName = new wxStaticText( this, wxID_ANY, wxT("Class Name (max 30 char):"), wxDefaultPosition, wxDefaultSize, 0 );
	staticTextClassName->Wrap( -1 );
	staticTextClassName->Hide();
	
	sizerClassDef->Add( staticTextClassName, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
	
	textClassName = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_RIGHT );
	textClassName->Hide();
	
	sizerClassDef->Add( textClassName, 0, wxALIGN_CENTER_HORIZONTAL|wxALL|wxEXPAND, 5 );
	
	buttonCalculate = new wxButton( this, ID_CALCULATE, wxT("Calculate"), wxDefaultPosition, wxDefaultSize, 0 );
	buttonCalculate->Enable( false );
	buttonCalculate->Hide();
	
	sizerClassDef->Add( buttonCalculate, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
	
	panel2 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	panel2->Hide();
	
	sizerClassDef->Add( panel2, 0, wxEXPAND | wxALL, 5 );
	
	staticTextDefined = new wxStaticText( this, wxID_ANY, wxT("Defined Colors:"), wxDefaultPosition, wxDefaultSize, 0 );
	staticTextDefined->Wrap( -1 );
	staticTextDefined->Hide();
	
	sizerClassDef->Add( staticTextDefined, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
	
	comboBoxDefinedClasses = new wxComboBox( this, ID_DEFCLASSES, wxEmptyString, wxDefaultPosition, wxSize( 100,-1 ), 0, NULL, 0 ); 
	comboBoxDefinedClasses->Hide();
	
	sizerClassDef->Add( comboBoxDefinedClasses, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
	
	buttonEliminate = new wxButton( this, wxID_CELIM, wxT("Eliminate"), wxDefaultPosition, wxDefaultSize, 0 );
	buttonEliminate->Hide();
	
	sizerClassDef->Add( buttonEliminate, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
	
	panel3 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
	panel3->Hide();
	
	sizerClassDef->Add( panel3, 0, wxEXPAND | wxALL, 5 );
	
	staticTextMVal = new wxStaticText( this, wxID_ANY, wxT("Mean Value:"), wxDefaultPosition, wxDefaultSize, 0 );
	staticTextMVal->Wrap( -1 );
	staticTextMVal->Hide();
	
	sizerClassDef->Add( staticTextMVal, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
	
	wxBoxSizer* bSizer5;
	bSizer5 = new wxBoxSizer( wxVERTICAL );
	
	wxBoxSizer* bSizer6;
	bSizer6 = new wxBoxSizer( wxHORIZONTAL );
	
	staticTextMCode0 = new wxStaticText( this, wxID_ANY, wxT("H"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE|wxST_NO_AUTORESIZE );
	staticTextMCode0->Wrap( -1 );
	staticTextMCode0->Hide();
	
	bSizer6->Add( staticTextMCode0, 1, 0, 5 );
	
	staticTextMCode1 = new wxStaticText( this, wxID_ANY, wxT("S"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE|wxST_NO_AUTORESIZE );
	staticTextMCode1->Wrap( -1 );
	staticTextMCode1->Hide();
	
	bSizer6->Add( staticTextMCode1, 1, 0, 5 );
	
	staticTextMCode2 = new wxStaticText( this, wxID_ANY, wxT("V"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE|wxST_NO_AUTORESIZE );
	staticTextMCode2->Wrap( -1 );
	staticTextMCode2->Hide();
	
	bSizer6->Add( staticTextMCode2, 1, 0, 5 );
	
	bSizer5->Add( bSizer6, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer3;
	bSizer3 = new wxBoxSizer( wxHORIZONTAL );
	
	textMVal0 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), wxTE_READONLY );
	textMVal0->SetFont( wxFont( 8, 74, 90, 90, false, wxT("Sans") ) );
	textMVal0->Hide();
	
	bSizer3->Add( textMVal0, 1, wxALIGN_CENTER_VERTICAL|wxALL|wxLEFT, 5 );
	
	textMVal1 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), wxTE_READONLY );
	textMVal1->SetFont( wxFont( 8, 74, 90, 90, false, wxT("Sans") ) );
	textMVal1->Hide();
	
	bSizer3->Add( textMVal1, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	textMVal2 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), wxTE_READONLY );
	textMVal2->SetFont( wxFont( 8, 74, 90, 90, false, wxT("Sans") ) );
	textMVal2->Hide();
	
	bSizer3->Add( textMVal2, 1, wxALIGN_CENTER_VERTICAL|wxALL|wxRIGHT, 5 );
	
	bSizer5->Add( bSizer3, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
	
	sizerClassDef->Add( bSizer5, 0, wxEXPAND, 5 );
	
	staticTextSD = new wxStaticText( this, wxID_ANY, wxT("Std Deviation:"), wxDefaultPosition, wxDefaultSize, 0 );
	staticTextSD->Wrap( -1 );
	staticTextSD->Hide();
	
	sizerClassDef->Add( staticTextSD, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
	
	wxBoxSizer* bSizer7;
	bSizer7 = new wxBoxSizer( wxHORIZONTAL );
	
	staticTextSDCode0 = new wxStaticText( this, wxID_ANY, wxT("H"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE|wxST_NO_AUTORESIZE );
	staticTextSDCode0->Wrap( -1 );
	staticTextSDCode0->Hide();
	
	bSizer7->Add( staticTextSDCode0, 1, wxALL, 5 );
	
	staticTextSDCode1 = new wxStaticText( this, wxID_ANY, wxT("S"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE|wxST_NO_AUTORESIZE );
	staticTextSDCode1->Wrap( -1 );
	staticTextSDCode1->Hide();
	
	bSizer7->Add( staticTextSDCode1, 1, wxALL, 5 );
	
	staticTextSDCode2 = new wxStaticText( this, wxID_ANY, wxT("V"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE|wxST_NO_AUTORESIZE );
	staticTextSDCode2->Wrap( -1 );
	staticTextSDCode2->Hide();
	
	bSizer7->Add( staticTextSDCode2, 1, wxALL, 5 );
	
	sizerClassDef->Add( bSizer7, 0, wxEXPAND, 5 );
	
	wxBoxSizer* bSizer31;
	bSizer31 = new wxBoxSizer( wxHORIZONTAL );
	
	textSDVal0 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), wxTE_READONLY );
	textSDVal0->SetFont( wxFont( 8, 74, 90, 90, false, wxT("Sans") ) );
	textSDVal0->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_APPWORKSPACE ) );
	textSDVal0->Hide();
	
	bSizer31->Add( textSDVal0, 1, wxALIGN_CENTER_VERTICAL|wxALL|wxLEFT, 5 );
	
	textSDVal1 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), wxTE_READONLY );
	textSDVal1->SetFont( wxFont( 8, 74, 90, 90, false, wxT("Sans") ) );
	textSDVal1->Hide();
	
	bSizer31->Add( textSDVal1, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
	
	textSDVal2 = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 40,-1 ), wxTE_READONLY );
	textSDVal2->SetFont( wxFont( 8, 74, 90, 90, false, wxT("Sans") ) );
	textSDVal2->Hide();
	
	bSizer31->Add( textSDVal2, 1, wxALIGN_CENTER_VERTICAL|wxALL|wxRIGHT, 5 );
	
	sizerClassDef->Add( bSizer31, 0, wxEXPAND, 5 );
	
	sizerApp->Add( sizerClassDef, 0, wxEXPAND, 5 );
	
	sizerAll->Add( sizerApp, 1, wxEXPAND, 5 );
	
	this->SetSizer( sizerAll );
	this->Layout();
	
	// Connect Events
	this->Connect( menuItemProjectDir->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuitemProjectDirClic ) );
	this->Connect( menuItemSaveAll->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::onMenuItemSaveAll ) );
	this->Connect( menuItemSaveColor->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemSave ) );
	this->Connect( menuItemSaveRobot->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemSaveRobot ) );
	this->Connect( menuItemSaveObst->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::onMenuItemSaveObst ) );
	this->Connect( menuItemLoadColor->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemLoad ) );
	this->Connect( menuItemExit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemExitClick ) );
	this->Connect( menuItemRemote->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemRemoteClick ) );
	this->Connect( menuItemDefClass->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::onMenuItemDefClassClick ) );
	this->Connect( menuItemRGBCode->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuRGBClick ) );
	this->Connect( menuItemHLS->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuHLSClick ) );
	this->Connect( menuItemHSV->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuHSVClick ) );
	this->Connect( menuItemYUV->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuYUVClick ) );
	this->Connect( menuItemColorIdent->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemColorIdent ) );
	this->Connect( menuItemThresholds->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemTH ) );
	this->Connect( menuItemObstColor->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemObstColor ) );
	this->Connect( menuItemDefRobot->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemDefRobot ) );
	this->Connect( menuItemDistDef->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemDistDef ) );
	this->Connect( menuItemCalibParam->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::onMenuItemCalibParam ) );
	this->Connect( menuItemStartCalib->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuStartCalib ) );
	this->Connect( menuItemLoadCalib->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::onMenuItemLoadCalib ) );
	this->Connect( menuItemEnableCalib->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::onMenuItemEnableCalib ) );
	this->Connect( menuItemEnableCalibImg->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemEnableCalibImg ) );
	this->Connect( menuItemHelp->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemHelpClick ) );
	textCtrlCameraSrc->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( MainFrameTemplate::comboBoxCameraClick ), NULL, this );
	this->Connect( ID_CAMWINDOW, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameTemplate::toolCamWindowClick ) );
	this->Connect( ID_PAUSE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameTemplate::toolPauseClick ) );
	this->Connect( ID_EXPAND, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameTemplate::toolExpandClick ) );
	this->Connect( ID_SAVE_IMG, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameTemplate::toolSaveClick ) );
	this->Connect( ID_ZOOMIN, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameTemplate::toolZommInClick ) );
	this->Connect( ID_ZOOMOUT, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameTemplate::toolZoomOutClick ) );
	this->Connect( wxID_AREA, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameTemplate::OnToolArea ) );
	this->Connect( ID_CLASSDEF, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameTemplate::toolClassDefClick ) );
	buttonCreateRobot->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameTemplate::OnButtonCreateRobotClick ), NULL, this );
	buttonEliminateRobot->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameTemplate::OnButtonEliminateRobotClick ), NULL, this );
	buttonCalculate->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameTemplate::OnCalculateClick ), NULL, this );
	comboBoxDefinedClasses->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnDefinedClassesClick ), NULL, this );
	buttonEliminate->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameTemplate::OnButtonEliminateColorClick ), NULL, this );
}

MainFrameTemplate::~MainFrameTemplate()
{
	// Disconnect Events
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuitemProjectDirClic ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::onMenuItemSaveAll ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemSave ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemSaveRobot ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::onMenuItemSaveObst ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemLoad ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemExitClick ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemRemoteClick ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::onMenuItemDefClassClick ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuRGBClick ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuHLSClick ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuHSVClick ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuYUVClick ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemColorIdent ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemTH ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemObstColor ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemDefRobot ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemDistDef ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::onMenuItemCalibParam ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuStartCalib ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::onMenuItemLoadCalib ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::onMenuItemEnableCalib ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemEnableCalibImg ) );
	this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnMenuItemHelpClick ) );
	textCtrlCameraSrc->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( MainFrameTemplate::comboBoxCameraClick ), NULL, this );
	this->Disconnect( ID_CAMWINDOW, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameTemplate::toolCamWindowClick ) );
	this->Disconnect( ID_PAUSE, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameTemplate::toolPauseClick ) );
	this->Disconnect( ID_EXPAND, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameTemplate::toolExpandClick ) );
	this->Disconnect( ID_SAVE_IMG, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameTemplate::toolSaveClick ) );
	this->Disconnect( ID_ZOOMIN, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameTemplate::toolZommInClick ) );
	this->Disconnect( ID_ZOOMOUT, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameTemplate::toolZoomOutClick ) );
	this->Disconnect( wxID_AREA, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameTemplate::OnToolArea ) );
	this->Disconnect( ID_CLASSDEF, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler( MainFrameTemplate::toolClassDefClick ) );
	buttonCreateRobot->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameTemplate::OnButtonCreateRobotClick ), NULL, this );
	buttonEliminateRobot->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameTemplate::OnButtonEliminateRobotClick ), NULL, this );
	buttonCalculate->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameTemplate::OnCalculateClick ), NULL, this );
	comboBoxDefinedClasses->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( MainFrameTemplate::OnDefinedClassesClick ), NULL, this );
	buttonEliminate->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameTemplate::OnButtonEliminateColorClick ), NULL, this );
}
